'''
文件io读写：
    1.文件io读写的步骤：
        1.1 打开文件：open()
        1.2 读写文件：read()、write()
        1.3 关闭文件：close()
    2.文件io读写的模式：
        2.1 读模式：r
        2.4 读写模式：r+
        2.2 写模式：w
        2.5 写读模式：w+
        2.3 追加模式：a
        2.6 追加读模式：a+
    
'''
#读文件
#1.打开文件：open()
#参数一：文件路径，参数二：文件模式
f=open("aa.txt","r")#open()函数的参数：文件路径，文件模式
#2.读写文件：read()、write()
#print(f.read(1))#read()函数的参数：读取的字节数，默认是-1，读取所有的内容
print(f.readline())#readline()函数的参数：无参数，读取一行的内容
print(f.readline())
print(f.readline())
#3.关闭文件：close()
f.close()#close()函数的参数：无参数

#写文件
#1.打开文件：open()
#参数一：文件路径，参数二：文件模式
f=open("bb.txt","w")#open()函数的参数：文件路径，文件模式
#2.读写文件：read()、write()
#2.1写入指定内容
#f.write("hello world")#write()函数的参数：写入的内容，再写新的会覆盖原来的内容
#2.2 写入指定行数的内容
list01=["hello world\n","abc123","hello world","abc123","hello world","abc123"]
f.writelines(list01)#writelines()函数的参数：写入的内容，必须是一个列表
#3.关闭文件：close()
f.close()#close()函数的参数：无参数

'''
    1.操作文件要打开文件，操作完毕之后要关闭文件
    2,。但是如果中间的操作部分，有异常了，那么就有可能导致末端关闭文件的代码无法执行。
    3.有两种办法解决
        3.1 使用我们的try...except...finally...语句
        3.2 使用with语句：with open("aa.txt","r") as f:f.read()
    
'''
#使用with语句：with open("aa.txt","r") as f:f.read()
with open("aa.txt","r") as f:#不用
    print(f.read())#read()函数的参数：读取的字节数，默认是-1，读取所有的内容
    #print(f.readline())#readline()函数的参数：无参数，读取一行的内容
    #print(f.readline())
print("文件是否关闭：",f.closed)#True
'''
绝对路径和相对路径：
    1.绝对路径：从根目录开始的路径，比如：/home/python/aa.txt
    2.相对路径：从当前目录开始的路径，比如：./aa.txt
    3.相对路径的写法：
        3.1 .表示当前目录
        3.2 ..表示上一级目录
'''
